package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excels;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 借阅管理对象 record_borrow
 *
 * @author admin
 * @date 2022-03-10
 */
@Data
public class RecordBorrow extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long borrowId;

    /**
     * 案卷ID
     */
    private String archivesId;

    /**
     * 借阅人账号ID
     */
    private Long userId;

    /**
     * 档号
     */
    @Excel(name = "档号")
    private String docNum;

    /**
     * 全宗号
     */
    @Excel(name = "全宗号")
    private String fullAnces;

    /**
     * 题名
     */
    @Excel(name = "题名")
    private String fileTitle;

    /**
     * 档案名称
     */
    @Excel(name = "档案名称")
    private String typeName;

    /**
     * 档案类型，1：案卷档案，2：卷内档案。3：独立档案
     */
    @Excel(name = "档案类型，1：案卷档案，2：卷内档案。3：独立档案")
    private String tbType;

    /**
     * 申请人
     */
    @Excel(name = "申请人")
    private String userName;

    /**
     * 单位
     */
    @Excel(name = "单位")
    private String workUnit;

    /**
     * 部门
     */
    @Excel(name = "部门")
    private String deptName;

    /**
     * 借阅人岗位
     */
    @Excel(name = "借阅人岗位")
    private String postName;

    /**
     * 借阅说明
     */
    @Excel(name = "借阅说明")
    private String borDetail;

    /**
     * 利用目的
     */
    @Excel(name = "利用目的")
    private String purpose;

    /**
     * 电子借阅 0，否，1，是
     */
    @Excel(name = "电子借阅,0，否，1，是")
    private String online;

    /**
     * 实体借阅 0，否，1，是
     */
    @Excel(name = "实体借阅,0，否，1，是")
    private String offline;

    /**
     * 借阅天数
     */
    @Excel(name = "借阅天数")
    private Long dayNum;

    /**
     * 审核状态 ，1：申请中，2：审核通过，3：审核拒绝
     */
    @Excel(name = "审核状态")
    private String auditState;

    /**
     * 申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applyTime;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /**
     * 审核人员
     */
    @Excel(name = "审核人员")
    private String auditUser;

    /**
     * 归还状态：0，未归还，1，已归还
     */
    @Excel(name = "归还状态", readConverterExp = "0=未归还,1=已归还")
    private String status;

    /**
     * 表名称
     */
    private String tbName;

    /**
     * 档案分类ID
     */
    @Excel(name = "档案分类ID")
    private String typeId;

    /**
     * 归还时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "归还时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date backTime;

    // 借阅车
    private List<RecordBorcart> borcartList;


}
